package com.aaa.vegetablemarketexpress.service;

import com.aaa.vegetablemarketexpress.entity.Cart;
import com.aaa.vegetablemarketexpress.entity.Order;
import com.aaa.vegetablemarketexpress.entity.OrderItem;

import java.math.BigDecimal;
import java.util.List;

/**
 * 购物车服务接口
 */
public interface CartService {
    /**
     * 添加商品到购物车
     *
     * @param cart 购物车实体
     * @return 是否添加成功
     */
    boolean addToCart(Cart cart);

    /**
     * 根据用户ID查询购物车详情
     *
     * @param userId 用户ID
     * @return 购物车详情列表
     */
    List<Cart> getCartDetailsByUserId(Long userId);

    /**
     * 根据ID删除购物车记录
     *
     * @param cartId 购物车ID
     * @return 是否删除成功
     */
    boolean removeById(Long cartId);
    /**
     * 更新购物车商品数量
     *
     * @param cartId 购物车ID
     * @param quantity 商品数量
     * @return 是否更新成功
     */
    boolean updateQuantity(Long cartId, BigDecimal quantity);
    /**
     * 根据用户ID清空购物车
     * @param userId 用户ID
     * @return 是否删除成功
     */
    boolean clearCartByUserId(Long userId);
}
